package polytech;
import java.util.*;


/**
 * Class Batiment
 */
public class Batiment {

	private String id;
	private int nbNiveaux;
	private ArrayList<Salle> liste_salle;
	
	Batiment () 
	{ 
		liste_salle=new ArrayList<Salle>();
	};
	Batiment (String id, int nbnv) 
	{
		this.id=id;
		this.nbNiveaux=nbnv;
		liste_salle=new ArrayList<Salle>();
	};


	/**
	 * Set the value of id
	 * @param newVar the new value of id
	 */
	private void setId ( String newVar ) {
		id = newVar;
	}

	/**
	 * Get the value of id
	 * @return the value of id
	 */
	private String getId ( ) {
		return id;
	}

	/**
	 * Set the value of nbNiveaux
	 * @param newVar the new value of nbNiveaux
	 */
	private void setNbNiveaux ( int newVar ) {
		nbNiveaux = newVar;
	}

	/**
	 * Get the value of nbNiveaux
	 * @return the value of nbNiveaux
	 */
	private int getNbNiveaux ( ) {
		return nbNiveaux;
	}

	public void add_salle(Salle s)
	{
		liste_salle.add(s);
		/**/
	}

	//*
	public Salle rechercher(int type)
	{
		switch(type){
		case(0):{
			for(Salle s: liste_salle)
			{
				if((s instanceof polytech.Salle_Amphi)&&(s.isLibre()))
					return s;
			}
			break;
		}
		case(1):{
			for(Salle s: liste_salle)
			{
				if((s instanceof polytech.Salle_Cours)&&(s.isLibre()))
					return s;
			}
			break;
		}
		case(2):{
			for(Salle s: liste_salle)
			{
				if((s instanceof polytech.Salle_Reunion)&&(s.isLibre()))
					return s;
			}
			break;
		}
		case(3):{
			for(Salle s: liste_salle)
			{
				if((s instanceof polytech.Salle_TD)&&(s.isLibre()))
					return s;
			}
			break;
		}
		case(4):{
			for(Salle s: liste_salle)
			{
				if((s instanceof polytech.Salle_TP_Fixe)&&(s.isLibre()))
					return s;
			}
			break;
		}
		case(5):{
			for(Salle s: liste_salle)
			{
				if((s instanceof polytech.Salle_TP_Portable)&&(s.isLibre()))
					return s;
			}
			break;
		}
		}
		return null;
	}//*/

	public String toString()
	{
		String s="Batiment "+id+"\nSalle disponible :\n";
		for(int i=0;i<liste_salle.size();i++)
		{
			s=s+liste_salle.get(i).id+"("+liste_salle.get(i).getClass()+")"+"\n";
		}
		return s;
	}
/*
 switch(type){
		case(0):
		{
			Salle_Amphi sa=new Salle_Amphi(nbp, id, n);
			liste_salle.add(sa);
		}
		case(1):
		{
			Salle_Cours sc=new Salle_Cours(nbp, id, n);
			liste_salle.add(sc);
		}
		case(2):
		{
			Salle_Reunion sr=new Salle_Reunion(nbp, id, n);
			liste_salle.add(sr);
		}
		case(3):
		{
			Salle_TD sd=new Salle_TD(nbp, id, n);
			liste_salle.add(sd);
		}
		case(4):
		{
			Salle_TP_Fixe sf=new Salle_TP_Fixe(nbp, id, n, vp, vp, id);
			liste_salle.add(sf);
		}
		case(5):
		{
			Salle_TP_Portable sp=new Salle_TP_Portable(nbp, id, n,res,elec);
			liste_salle.add(sp);
		}
		}
 */
}
